home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
076-100
/
092
/
as6502
/
as6502.notes
< prev
next >
Wrap
Text File
|
1995-03-13
|
6KB
|
199 lines
aaaaaassssss666666555555000000222222 UUUUUUsssssseeeeeerrrrrr NNNNNNooooootttttteeeeeessssss Page 1
SSSSSSOOOOOOUUUUUURRRRRRCCCCCCEEEEEE LLLLLLIIIIIINNNNNNEEEEEE FFFFFFOOOOOORRRRRRMMMMMMAAAAAATTTTTT:
<label> <operation> <operand> <comment>
Each field is terminated by one or more spaces, a tab or a ';'
(which begins the comment field immediately).
LLLLLLAAAAAABBBBBBEEEEEELLLLLL FFFFFFIIIIIIEEEEEELLLLLLDDDDDD:
If first character is ';', entire line is a comment. If first
character is space, label field is null. Labels are alphanumeric
strings beginning with 'a' through 'z', 'A' through 'Z', under-
score or period followed by any of the above characters or '0'
through '9'. Currently, labels are limited to 19 characters. A,
X, Y, a, x and y are reserved labels.
OOOOOOPPPPPPEEEEEERRRRRRAAAAAATTTTTTIIIIIIOOOOOONNNNNN FFFFFFIIIIIIEEEEEELLLLLLDDDDDD:
Upper and lower case letters are equivalent. Machine operation
mnemonics are:
ADC BMI CLD DEX JSR PHA RTS STY
AND BNE CLI DEY LDA PHP SBC TAX
ASL BPL CLV EOR LDX PLA SEC TAY
BCC BRK CMP INC LDY PLP SED TSX
BCS BVC CPX INX LSR ROL SEI TXA
BEQ BVS CPY INY NOP ROR STA TXS
BIT CLC DEC JMP ORA RTI STX TYA
Pseudo operation mnemonics are:
= equate label name to operand field value (space is
not needed to terminate this operation).
*= set location counter to operand field value (space is
not needed to terminate this operation).
.WORD assign 16 bit value of operand field to next two lo-
cations; low byte of value first, then high byte.
.DBYT assign 16 bit value of operand field to next two lo-
cations; high byte of value first, then low byte.
.BYTE assign 8 bit value of operand field to next location.
.NLST turn listing mode off (this source line is not list-
ed).
.LIST turn listing mode on (normal mode) (this source line
is not listed).
.PAGE start a new listing page. Optionally specify a title
for the page heading. (this source line is not list-
ed).
OOOOOOPPPPPPEEEEEERRRRRRAAAAAANNNNNNDDDDDD FFFFFFIIIIIIEEEEEELLLLLLDDDDDD:
Operand field expressions use infix notation and are evaluated
strictly from left to right. No imbedded spaces are permitted.
Operand field terms include labels and numbers. Asterisk (*) is
the label for the location counter value. Numbers are binary,
octal, decimal, hexadecimal or ASCII. Number type is indicated
by the first character of the number string as follows:
aaaaaassssss666666555555000000222222 UUUUUUsssssseeeeeerrrrrr NNNNNNooooootttttteeeeeessssss Page 2
% binary prefix
@ or 0 octal prefix
1 - 9 decimal by default (prefix is part of number)
$ hexadecimal prefix
' ASCII character prefix
" ASCII character string prefix and suffix; in the
string, \t is a tab character, \n is a new line.
Operand field operations and the corresponding symbols are:
+ addition
- subtraction
/ division
* multiplication
% modulo (remainder after integer division)
^ logical exclusive OR
& logical AND
| logical OR
< low byte
> high byte
Addressing modes are represented as follows:
lda =aa immediate addressing
lda #aa immediate addressing, alternate
lda D direct addessing
LDA aa page zero addressing, aa < 256
asl A accumulator addressing
brk implied addressing
lda (aa,X) indirect,X addressing
lda (aa),Y indirect,Y addressing
lda aa,X zero page,X addressing
lda D,X absolute,X addressing
lda D,Y absolute,Y addressing
bcc *-$10 relative addressing
jmp (D) indirect addressing
ldx aa,Y zero page,Y addressing
EEEEEERRRRRRRRRRRROOOOOORRRRRR MMMMMMEEEEEESSSSSSSSSSSSAAAAAAGGGGGGEEEEEESSSSSS:
Invalid operation code
Invalid argument count (when as6502 was invoked)
Open error for file
Creat error for object file 6502.out
Close error
Close error (6502.out)
Symbol table full
Label multiply defined
Sync error (pass 1 symbol value not equal pass 2 symbol value)
Invalid branch address
Operand field missing
Invalid addressing mode
Operand field size error
Undefined symbol in operand field
Invalid operand field
IIIIIINNNNNNVVVVVVOOOOOOKKKKKKIIIIIINNNNNNGGGGGG aaaaaassssss666666555555000000222222:
aaaaaassssss666666555555000000222222 UUUUUUsssssseeeeeerrrrrr NNNNNNooooootttttteeeeeessssss Page 3
as6502 {-ilnmos} {-p -t -w } <source files descriptions>
Options:
-i ignore any .nlst pseudo operations
-l list errors only
-n print addresses as <high byte><low byte>,
rather than as <low byte>:<high byte>.
-o generate ASCII object output in file 6502.out,
format is
;<address lo><address hi><data>
-s print symbol table at end of listing
-m output the object file in standard MOS Technology format.
Parameters:
-p specify the page length.
-t specify the symbol table size.
-w specify the print line size.
J. H. Van Ornum, JHS 3/3/87